package cn.tedu.oopTestConstructor.cn.tedu;

/**
 * @author SWJ
 * @create 2021-06-18 16:06
 * 本类用于测试泛型的优点2
 */
public class Generic2 {
    public static void main(String[] args) {
        //需求：打印指定数组中的所有元素
        //引用类型
        Integer[] a = {1, 2, 3, 4, 5, 6, 7};
        String[] b = {"大哥", "二哥"};
        Double[] c = {6.666, 6.3333, 3.333};

        print(a);
        print(b);
        print(c);
        a(c);

    }
/**1.泛型可以实现通用代码的编写，使用E表示元素的类型是ELement类型
 * 2.泛型的语法要求：如果在方法上使用泛型，另一个返回值的泛型类型
 * 表示这是个泛型方法*/
    private static <E> void print(E[] t) {
        for (E f : t) {
            System.out.println(f);
        }

    }

    private static <E> void a(E[] h) {
        for (E z : h) {
            System.out.println(z);
            //这里打印的{6.666, 6.3333, 3.333}
        }

    }

}


//    /**
//     * 普通for循环
//     */
//    private static void print(Integer[] a) {
//        for (int i = 0; i < a.length; i++) {
//            System.out.println(a[i]);
//        }
//        /**高效for循环(增强for循环)
//         * 格式for(1 2:3){循环体}
//         * 3.是要遍历的元素1是每次遍历的想得到的元素
//         * 2是遍历得到的元素名字
//         *普通for循环的好处可以设置循环的步长(如何变化)
//         * 只能在遍历中使用*/
//
//        for (Integer i : a) {
//            System.out.println(i);
//        }
//
//    }
//
//    private static void print(String[] b) {
//        for (String s : b) {
//            System.out.println(s);
//        }
//
//    }
//
//    private static void print(Double[] c) {
//        for (Double d : c) {
//            System.out.println(d);
//
//        }
//
//    }
//}
/**
 * "C:\Program Files\Java\jdk1.8.0_91\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3\lib\idea_rt.jar=49209:C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_91\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\rt.jar;D:\软件\idea\out\production\ModuleOop" cn.tedu.oopTestConstructor.cn.tedu.Generic2
 * 1
 * 2
 * 3
 * 4
 * 5
 * 6
 * 7
 * 1
 * 2
 * 3
 * 4
 * 5
 * 6
 * 7
 * 大哥
 * 二哥
 * 6.666
 * 6.3333
 * 3.333
 */